// 因为一个容器只能存放一个构件，如果想在一个容器中容纳多个构件则需要使用组合盒（box）和组合表（table）
// 组合盒（GtkBox）可以容纳多个构件，其本身也可以被看做一个构件，但是该构件在运行时并不会显示。
/* 该案例是在窗口中添加4个竖排按钮的实例*/
#include <stdio.h>
#include <stdlib.h>
#include <gtk/gtk.h>

int main(int argc, char *argv[]){
	
	GtkWidget *window,*button,*box;
	char title[] = "box test";

	gtk_init(&argc,&argv);
	window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
	gtk_window_set_title(GTK_WINDOW(window),title);
	gtk_widget_set_usize(window,300,300);
	gtk_widget_set_uposition(window,300,300);
	gtk_signal_connect(GTK_OBJECT(window), "delete_event", G_CALLBACK(gtk_main_quit),NULL);

	// 创建一个新的组合盒，横向
	box = gtk_hbox_new(FALSE,0);

	// 创建按钮，添加到box中
	button = gtk_button_new_with_label("Button1");
	gtk_box_pack_start(GTK_BOX(box),button,FALSE,FALSE,0);
	gtk_widget_show(button);

	// 创建按钮，添加到box中
	button = gtk_button_new_with_label("Button2");
	gtk_box_pack_start(GTK_BOX(box),button,FALSE,FALSE,0);
	gtk_widget_show(button);

	// 创建按钮，添加到box中
	button = gtk_button_new_with_label("Button3");
	gtk_box_pack_start(GTK_BOX(box),button,FALSE,FALSE,0);
	gtk_widget_show(button);
	
	// 创建按钮，添加到box中
	button = gtk_button_new_with_label("Button4");
	gtk_box_pack_start(GTK_BOX(box),button,FALSE,FALSE,0);
	gtk_widget_show(button);
	
	// 需要把box加入到窗体中
	gtk_container_add(GTK_CONTAINER(window),box);

	gtk_widget_show(box);
	gtk_widget_show(window);
	gtk_main();


	return 0;
}
